package farmers.io;

import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class ReadFolderUtil {

    public static void main(String[] args) {
        List<File> list = getAllFile("d:/root/IdeaProjects_temp2/");
        list.forEach(x -> {
            System.out.println(x.getAbsolutePath());
        });

        System.out.println("长度 = " + list.size());
    }

    /**
     * 获取所有的文件和文件夹
     * @param filepath 路径
     */
    public static List<File> getAllFile(String filepath){
        List<File> allFiles=new ArrayList<>();
        findFolder(new File(filepath),allFiles);
        return allFiles;
    }

    /**
     * 递归
     * @param file
     * @param allFiles
     */
    private static void findFolder(File file,List<File> allFiles){
        if(file.isDirectory()){
            allFiles.add(file);
            File[] files= file.listFiles();
            for(File f:files){
                findFolder(f,allFiles);
            }
        }else{
            allFiles.add(file);
        }
    }
}
